package top.blackr.folivora.common.pay.transfer.entity.ali;

import lombok.Data;
import lombok.EqualsAndHashCode;
import top.blackr.folivora.common.pay.transfer.entity.TransferResponse;

@Data
@EqualsAndHashCode(callSuper = true)
public class AliTransferResponse extends TransferResponse {

    /**
     * 转账金额，单位为元，默认为空，特殊场景提供。
     */
    private String amount;
    /**
     * 支付宝转账订单号
     */
    private String orderId;
    /**
     * 商户订单号
     */
    private String outBizNo;
    /**
     * 支付宝支付资金流水号
     */
    private String payFundOrderId;
    /**
     * 金融机构发起签约类、支付类、差错类业务时，应为每笔业务分配唯一的交易流水号。31位交易流水号组成规则为：“8位日期”+“16位序列号”+“1位预留位”+“6位控制位”，其中：
     * <p>
     * a）“8位日期”为系统当前日期，ISODate格式：“YYYYMMDD”
     * <p>
     * b）“16位序列号”由金融机构生成，金融机构应确保该值在网联当日唯一
     * <p>
     * c）“1位预留位”由平台分配
     * <p>
     * d）“6位控制位”由金融机构通过平台获取
     * <p>
     * 例如：2023052993044491260542090100400
     */
    private String settleSerialNo;
    /**
     * 转账单据状态。
     * <p>
     * SUCCESS（该笔转账交易成功）：成功；
     * <p>
     * FAIL：失败（具体失败原因请参见error_code以及fail_reason返回值）；
     * <p>
     * DEALING：处理中（转账到支付宝账户不涉及）；
     * <p>
     * REFUND：退票（转账到支付宝账户不涉及）；
     */
    private String status;
    /**
     * 订单支付时间，格式为yyyy-MM-dd HH:mm:ss
     */
    private String transDate;
}
